import instance from '../../utils/http.js'
import { reqSwiperData } from '../../api/index'
Page({
  data: {
    avatarUrl: '/assets/images/avatar.png'
  },
  async chooseavatar(event) {
    const { avatarUrl } = event.detail
    const res = await instance.upload('/fileUpload', avatarUrl, 'file')
    // console.log(res)
    this.setData({
      avatarUrl: res.data
    })
    // wx.uploadFile({
    //   filePath: avatarUrl,
    //   name: 'file',
    //   url: 'https://gmall-prod.atguigu.cn/mall-api/fileUpload',
    //   success: (res) => {
    //     // console.log(res)
    //     this.setData({
    //       // avatarUrl: event.detail.avatarUrl
    //       //服务器返回的是json字符串 需要转换
    //       avatarUrl: JSON.parse(res.data).data
    //     })
    //   }
    // })
  },
  // handler() {
  //   instance
  //     .request({
  //       url: 'https://gmall-prod.atguigu.cn/mall-api/index/findBanner',
  //       method: 'get'
  //     })
  //     .then((res) => {
  //       console.log(res)
  //     })
  // }
  async handler() {
    // const res = await instance.request({
    //   url: '/index/findBanner',
    //   method: 'get'
    // })
    // console.log(res)
    // const res = await instance.get('/cart/getCartList').catch((err) => {
    //   console.log(err)
    // })
    // const res = await instance.get('/index/findBanner', null, {
    //   isloading: false
    // })
    // const res = await instance.get('/index/findBanner')
    const res = await reqSwiperData()
    console.log(res)
  },
  async handler1() {
    wx.request({
      url: '/index/findCategory',
      // timeout: 100,
      //url: '/index/findCategory666', //接口错误依旧会success
      method: 'GET',
      // timeout: 100, 测试网络超时，需要调整网络
      success: (res) => {
        console.log(
          '只要成功接收到服务器返回，不管状态是多少，都会进入 success 回调'
        )
        console.log(res)
      },
      fail: (err) => {
        // 网络异常时 如超时 则会执行fail
        // {errMsg: "request:fail timeout"}
        console.log(err)
      }
    })
  },
  // 测试并发请求
  async handlerAll() {
    // async,await控制异步任务以同步流程来执行 依次执行 时间为每个请求时间之和 会造成阻塞
    // const res1 = await instance.get('/index/findBanner')
    // const res2 = await instance.get('/index/findCategory1')
    // const res3 = await instance.get('/index/findBanner')
    // const res4 = await instance.get('/index/findCategory1')

    // Promise.all 同时发起多个请求 在第一个请求发送的时候 会同时发送第二个请求 等等 即总时间为用时最长的那个请求
    // await Promise.all([instance.get('/index/findBanner'), instance.get('/index/findCategory1'), instance.get('/index/findBanner'), instance.get('/index/findCategory1')])
    const res = await instance.all(
      instance.get('/index/findBanner'),
      instance.get('/index/findCategory1'),
      instance.get('/index/findBanner'),
      instance.get('/index/findCategory1'),
      instance.get('/index/findBanner'),
      instance.get('/index/findCategory1'),
      instance.get('/index/findBanner'),
      instance.get('/index/findBanner'),
      instance.get('/index/findCategory1'),
      instance.get('/index/findBanner')
    )
    console.log(res)
  }
})
